Cartesi 的论文:特定于应用程序的模块化执行环境如何解决可编程性、扩展计算和推动创新等问题
Felipe Argento、Erick de Moura和Augusto Teixeira
区块链技术正处突破应用的革命边缘。现在越来越多的项目熟悉了模块化和专业化的需求。层出不穷的各类Layer 正在将关注点转移到数据的可用性上,目的是支持更高级别数量级的数据。同时,计划通过Rollups(Optimistic、ZK 或 Sovereign)扩展计算能力的执行环境和计算层有责任匹配增加的数据能力,并提供足够强大的基础设施以开发实际的应用程序。计算可扩展性方面带来最大收益的设置可以由以下方式给出:具有交互式争议解决方案的特定类应用程序的Optimistic Rollups。同时,计算可扩展性可以使可编程性和提升改进工具的可能性增加很多。Cartesi 选择了这条路,为开发人员提供了更方便的开发方式,并有可能使用现实世界操作系统运行现有开源库和组件构建强大的智能合约。
Rollups系统的状态
当我们从软件工程的角度分析它们的代码库时,区块链 DApp 面临的多重技术难题就凸显出来了。像一些经过精心设计的项目 Uniswap ,可以平衡几个相互竞争的目标:对用户的货币价值、极少的 gas 消耗和安全性。不能满足这些标准的应用程序会限制他们的使用群体,使用户处于风险之中,或者在激烈的区块链交互竞争中失败。这种情况不适合应用程序并阻碍创新。此外,与传统的 Web 2.0 后端服务相比,编码智能合约的用户体验受到了很大的限制。传统 Web 服务器的功能与区块链智能合约之间存在着相当大的的代差是真实的。以太坊和 EVM Rollups是分散的计算机,它们迫使您应对上述方面。它们是极其缓慢且“特殊的计算机”,需要开发人员使用特定的编程语言进行编码。在这种奇怪的设置中,开发人员将精力集中在克服这些限制上,而不是优化他们的核心解决方案。结果通常是围绕简单的和有限功能的非必要的、非常复杂的代码。每个人都需要验证所有网络,这对于大规模推广采用是不可持续的。在全球共识中,需求量的增加不可避免的导致区块空间提升,进而导致各个应用程序之间恶性竞争。这种情况反而会产生高额费用,对于项目方和用户构成了越来越多的进入成本。为了解决这一难题,以太坊进行了转型,提出了以Rollups为发展中心的路线图。新的计划中提到可扩展性问题包括两个主要方面:数据可扩展性和计算可扩展性。这两者之间的区别经常被人们忽略,因为他们目前处于相同的gas费用成本中。然而,正是为了通过区分它们,以太坊制定了目前的路线图。合并后,随着EIP-4844和分片以太坊的发展,将数据添加到其区块链的成本将降低几个数量级。同时,计算扩展已委托给Rollups项目(因此名称为rollup-centric)。以太坊协议和Rollups解决方案之间的关系隐藏了一个没有得到重视的问题。与 EVM 兼容的Rollups并不是提升计算可扩展性来匹配以太坊实现数据可用性的最佳设计。基于 EVM 的Rollups可以描述为计算分片。随着越来越多的应用程序逐渐部署并共享同一个虚拟机,这种设计的缺陷就会出现。争夺虚拟机 CPU 容量的零和游戏将导致问题高端化。每个分片处理上只有一小部分应用程序是可以使用的,其他用户将被逐渐淘汰。这些网络会变得格外拥挤和昂贵。不过幸运的是,现在可以用不同的方式理解和实用Rollups。可以放弃共享虚拟机,让应用程序拥有自己的 CPU 以及可用的超高性能的计算。资产结算、应用程序之间的可组合性和争议解决可以委托给通用基础层。这种设计称为特定的应用程序Rollups。特定应用程序Rollups的专用共识与基础层挂钩,允许其验证节点(无论是否允许)保留其结算层的安全保证。换句话说,拥有一个基础层使得 1-of-N 安全模型成为可能,其中任何诚实的验证者都可以在基础层的帮助下,独立于合作执行正确的结果。同时,特定应用程序的共识使应用程序可以享受(非共享)硬件的全部功能。不仅避免了网络高档化的问题,而且还提供了计算可扩展性的显着收益。从共享共识到特定应用程序共识的转变并不是没有弊端。虽然这种设计意味着应用程序之间的可组合性存在更大的纠葛,但我们认为这对于大多数应用程序来说是一个不太相关的问题。必须等待他们的通信得到验证或依赖软终结技术(即流动性提供者),这并不是一个很大的妥协,以换取应用程序特定链提供的计算能力和可预测性的巨大改进。特别是具有交互式防欺诈的Optimistic Rollups,为分散式应用程序提供了与主流相当的计算资源(例如,涉及数十亿个指令步骤和大内存地址空间),而无需特殊硬件即可达成共识。这仅仅是可能实现的,因为交互式欺诈证明允许计算资源有限的仲裁者去裁决计算无限的证明者之间的争议。特别是,我们的仲裁者是一个资源有限的结算层,我们的证明者是具有相对无限计算资源的Rollups验证者。为了更好地理解这是如何实现的,请参阅Cartesi Core 技术论文的第 5.2 节。在寻求最大可扩展性和可定制性的过程中,应用程序和协议开发人员正在将注意力转向不同形式的应用程序特定链。一些例子是:Axie Infinity 的Ronin侧链、dYdX 的主权链、Starkware 的分形缩放设计、Celestia 的模块化执行层。特定的应用程序Rollups链可以满足这一需求,其优点是不会导致主权(第一层) 特定应用程序链的验证出现危险的碎片化。相反,特定的应用程序Rollups链继承了底层基础层强大的安全性能,而不依赖于已被证明是危险的跨链桥接。应用程序Rollups链的技术优势源于这样一个事实,即它们对于 N 中 1 的诚实方是安全的,而不是诚实多数的必要性。总而言之,特定应用程序Rollups与特定应用程序的侧链一样好,而不会严重影响安全性。
借助上图,可以更好的展示可视化扩展数据和数据可用性容量的效果。该图分为几个主要区域,表示正在组合的扩展解决方案以及它们在计算和数据容量方面的表现。随着我们从以太坊第一层转移到 EVM Rollups,并最终转移到专用应用链,计算能力得到提高,而数据随着 EIP-4844 和分片的添加也得到了提高。蓝色圆锥显示随着两个维度的缩放,哪些应用逐渐成为可能。我们将蓝色区域称为 web3 的创新锥。锥体外的灰色区域是不能完全享受数据可用性收益的地方,因为解决方案缺乏计算能力。相反也是这样。白色的小方块是当我们达到这些里程碑时,开始成为可能的应用程序示例,未标记的那些提醒我们,我们不知道一旦环境变得更加健壮,将会出现哪些酷炫的新应用程序。创新椎不能完全代表精确的数据。所画出的方向和角度不能按字面意思理解。而且,每个地区有可能的应用程序很容易进入不同的领域。该图只是对分散应用程序不断增长的创新视野中提供了一个直观的展望。可编程性问题:为更好的抽象辩护
除了上述计算限制之外,DApps 的开发人员还面临着另一个巨大的负担:缺乏成熟的环境,表现出来就是软件工具和库的不足。为了更好地说明这个问题,让我们提一下最近几天我们遇到的最令人印象深刻的去中心化游戏Topology。这个雄心勃勃的项目将战略基础设施建设和行星动力学相结合!疯狂的事情。然而,仅仅通过查看他们的源代码,我们就看到了他们必须杀死的野兽。举一个例子,他们必须开发一种从头开始模拟行星动力学的经典算法。在 Topology 团队所展现的令人印象深刻的人才背后,有一个令人担忧的问题:只有优秀的开发人员才能在如此不成熟的环境中将他们的想法变为现实。上面的例子并不是单独存在的。如此多的库(例如:1、2、3、4、5、6、7 )是用Solidity编写的,以帮助开发智能合约和 DApp 。但是目前语言的状态还很不成熟,一些基本的任务还需要人们求助于论坛,寻求帮助。这不是传统软件行业的现实。例如,游戏愤怒的小鸟需要与拓扑相同的库(毕竟,行星和飞鸟遵循相同的物理定律)。然而,愤怒的小鸟背后的开发人员并没有被迫从头开始编写他们需要的每一行代码。基本上每种可以想象的语言有成熟的库。为了使传统开发人员能够访问所有这些库,这也是解决可编程性问题的黄金标准,需要成熟的操作系统。从 Web2 到传统游戏,再到卫星发射,各个领域的开发人员都依靠操作系统为他们提供所需的支持。他们实现想法所需的语言和库使他们能够将精力集中在他们真正想要构建的东西上,而不是使之成为可能的底层基础设施。这就是我们选择 RISC-V 架构来构建Rollups解决方案的原因。它可以将Linux或其他操作系统移植到Rollups中。这样,开发人员可以用他们最熟悉的语言和库,并且将他们的想法变为现实,而不会放弃区块链的可靠安全保证,如之前的文章(1、2、3 )所述。到目前为止,Linux 一直是重点,它是一个可以运行任何可以编译为 RISC-V 的操作系统,例如一些非常安全的微内核。
Cartesi Rollups
我们首先讨论了模块化汇总执行层的重要性,该层真正扩展了计算并防止 DApp 在计算资源的零和游戏中相互参与。然后我们详细阐述了开发人员像主流开发人员一样依靠操作系统的抽象能力的重要性。
正是考虑到这两个需求,我们将Cartesi Rollups设计和构建为模块化执行层,为 DApp 提供以下扩展优势:
- 每个 DApp 都有自己的高性能汇总应用链和专用 CPU;
- Cartesi 生态系统中其他 DApp 的资源不会被蚕食;
Cartesi Rollups 应用程序可以用作第二层(即在以太坊之上)、第三层(即在 Arbitrum 或 ZK-EVM 链之上)或作为主权Rollups(即在 Celestia 之上)。开发人员可以通过最少的代码更改将他们的应用程序从一个平台移植到另一个平台。
最后的话
Cartesi 允许开发人员专注于他们正在构建的内容,而不会使他们在构建过程中或他们需要处理问题时遇到不便的限制。这样,创新就可以在流行的应用程序不蚕食不太成熟的应用程序的情况下推动创新。去中心化的应用程序可以拥有他们需要的所有计算能力,同时保持成本的可预测性。开发人员可以利用经过实战考验的编程库并创建去中心化的 MMORPG,这些游戏实际上很有趣。从可定制性的角度来看,Cartesi Rollups 应用链为 DApp 提供了为不同操作收取不同价格的可能性。例如,他们可以在去中心化交易所免除做市商的gas费,或者增加海洋模拟器 DApp 上掠夺性捕鱼的成本。Cartesi 对去中心化技术即将发生的革命有着非常清晰的愿景。Cartesi Rollups 正在开发中,作为对这种新环境需求的聚焦解决方案。
想自己研究更新吗?前往 Cartesi Github 直接进入:https://github.com/cartesi/rollupshttps://github.com/cartesi/rollups-examples
Blockchain OS 是一分布式的第 2 层基础设施,支持 Linux 和主流编程软件组件。使得开发人员可以第一次在Blockchain OS上使用丰富的传统软件工具、库和他们习惯的服务编写可扩展的智能合约,Cartesi 弥合了主流软件和区块链之间的差距。
Cartesi 正在引领数百万新创业公司及其开发人员加入并使用区块链操作系统,同时将 Linux 应用程序纳入其中。凭借开创性的虚拟机、Rollups和侧链,Cartesi 为所有开发人员铺平了道路,以帮助他们进入区块链的世界并构建下一代区块链应用程序。
Cartesi在此诚挚的邀请所有人,请和我们一起来到区块链操作系统的世界,一起探索未来。
友情提示FRIENDLY TIPS本信息不构成任何投资建议,投资者不应以该等信息取代其独立判断或仅根据该等信息作出决策。我们力求本公众号信息准确可靠,但对这些新的准确性或完整性不作保证,亦不对因使用该等信息而引发的损失承担任何责任。
加密资产属于高风险资产,需要充分认识到其波动性
往期推荐
Cartesi 实验室,2022年新变化
再见,2022 HackBoston,精彩瞬间
2022 年 9 月区块链操作系统之开发回顾